<?php
namespace app\index\validate;

use think\Validate;

class Yz extends Validate
{
    /////////////////////////////      对应：a 方法      ////////////////////////////////

    // 当前验证的规则
    protected $rule1 = [
        'name' => 'require|max:25', // 不能为空；长度不能超过25
        'email' => 'email',  // 格式不符
    ];


    /////////////////////////////      对应：d 方法      ////////////////////////////////

    // 当前验证的规则
    protected $rule2 =   [
        'name'  => 'require|max:25',
        'age'   => 'number|between:1,120',
        'email' => 'email',
    ];

    // 验证提示信息
    protected $message2  =   [
        'name.require' => '名称必须',
        'name.max'     => '名称最多不能超过25个字符',
        'age.number'   => '年龄必须是数字',
        'age.between'  => '年龄只能在1-120之间',
        'email'        => '邮箱格式错误',
    ];


    /////////////////////////////      对应：g 方法      ////////////////////////////////

    // 当前验证的规则
    protected $rule3 = [
        'name'  =>  'checkName:thinkphp',
        'email' =>  'email',
    ];

    // 验证提示信息
    protected $message3 = [
        'name'  =>  '用户名必填',
        'email' =>  '邮箱格式错误',
    ];

    // 自定义验证规则      （参数：验证数据、验证规则、全部数据（数组）、字段名、字段描述）
    protected function checkName($value,$rule,$data)
    {
        return $rule == $value ? true : '名称错误';
    }


    /////////////////////////////      对应：n 方法      ////////////////////////////////

    // 当前验证的规则
    protected $rule4 =  [
        'name'  => 'require|max:25',
        'age'   => 'number|between:1,120',
        'email' => 'email',
    ];

    // 验证提示信息
    protected $message4  =  [
        'name.require' => '名称必须',
        'name.max'     => '名称最多不能超过25个字符',
        'age.number'   => '年龄必须是数字',
        'age.between'  => '年龄只能在1-120之间',
        'email'        => '邮箱格式错误',
    ];

    // 验证场景
    protected $scene4 = [
        'edit'  =>  ['name','age'],
    ];


    /////////////////////////////      对应：o 方法      ////////////////////////////////

    protected $rule5 =   [
        'name'  => 'require|max:25',
        'age'   => 'number|between:1,120',
        'email' => 'email',
    ];

    protected $message5  =   [
        'name.require' => '名称必须',
        'name.max'     => '名称最多不能超过25个字符',
        'age.number'   => '年龄必须是数字',
        'age.between'  => '年龄只能在1-120之间',
        'email'        => '邮箱格式错误',
    ];

    protected $scene5 = [
        'edit'  =>  ['name','age'=>'require|number|between:1,120'],
    ];


    /////////////////////////////      对应：r 方法      ////////////////////////////////

    protected $rule6 = [
        'name'  =>  'require|max:25',
        'email' =>  'email',
    ];

    protected $message6 = [
        'name.require'  =>  '用户名必须',
        'email' =>  '邮箱格式错误',
    ];

    protected $scene6 = [
        'add'   =>  ['name','email'],
        'edit'  =>  ['email'],
    ];


    /////////////////////////////      对应：t 方法      ////////////////////////////////

    protected $rule = [
        'name'  =>  'require|max:25',
        'email' =>  'email',
    ];

    protected $message = [
        'name.require'  =>  '用户名必须',
        'email' =>  '邮箱格式错误',
    ];

    protected $scene = [
        'add'   =>  ['name','email'],
        'edit'  =>  ['email'],
    ];

}